package com.bhs.sansong.net;

import java.util.List;
import java.util.Map;

import okhttp3.MultipartBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;

public interface NetApi {
    /**
     * 地址解析
     */
    @GET("/api/applogin/pca_format")
    Call<ResponseBody> pca_format(@Query("platform") String platform, @Query("address") String address);
    /**
     * 通过 code 获取 access_token
     */
    @GET
    Call<ResponseBody> getAccess_token(@Url String Url, @QueryMap Map<String, String> parameters);
    /**
     * 余额提现
     */
    @GET("/cargo/userwallet/apply_withdraw")
    Call<ResponseBody> apply_withdraw(@QueryMap Map<String, String> parameters);
    /**
     * 提现记录
     */
    @GET("/cargo/userwallet/get_withdraw_log")
    Call<ResponseBody> get_withdraw_log(@QueryMap Map<String, String> parameters);

    /**
     * 提现详情
     */
    @GET("/cargo/userwallet/get_withdraw_log_detail")
    Call<ResponseBody> get_withdraw_log_detail(@Query("withdraw_id") int withdraw_id);
    /**
     * 添加支付宝号
     */
    @GET("/api/applogin/bind_alipay")
    Call<ResponseBody> bind_alipay(@QueryMap Map<String, Object> parameters);
    /**
     * 个人信息提交
     */
    @GET("/cargo/user/people_approve")
    Call<ResponseBody> people_approve(@Query("truename") String truename, @Query("cardno") String cardno);
    /**
     * 人脸验证结果
     */
    @GET("/api/aliyun/get_describe_face_verify")
    Call<ResponseBody> get_describe_face_verify(@QueryMap Map<String, String> parameters);

    /**
     * 人脸启动
     */
    @GET("/api/aliyun/get_init_face_verify")
    Call<ResponseBody> get_init_face_verify(@QueryMap Map<String, String> parameters);
    /**
     * 一键领取活动优惠券
     */
    @GET("/cargo/coupon/getPromotionCoupon")
    Call<ResponseBody> getPromotionCoupon();
    /**
     * 活动优惠券
     */
    @GET("/cargo/coupon/promotionCouponList")
    Call<ResponseBody> promotionCouponList();
    /**
     * 清除新人优惠券
     */
    @GET("/cargo/coupon/regCouponUnshow")
    Call<ResponseBody> regCouponUnshow(@Query("ids") String ids);
    /**
     * 新人优惠券
     */
    @GET("/cargo/coupon/regCouponList")
    Call<ResponseBody> regCouponList();
    /**
     * 账单
     */
    @GET("/api/applogin/get_bill_list")
    Call<ResponseBody> get_bill_list(@QueryMap Map<String, String> parameters);
    /**
     * 我的收藏
     */
    @GET("/api/applogin/get_collect_list")
    Call<ResponseBody> get_collect_list(@QueryMap Map<String, Object> parameters);
    /**
     * 历史足迹
     */
    @GET("/cargo/logisticscompany/getLogisticsVisitList")
    Call<ResponseBody> getLogisticsVisitList();

    /**
     * 获取圈子数量
     */
    @GET("/api/applogin/set_circle_red_time")
    Call<ResponseBody> set_circle_red_time();
    /**
     * 获取圈子数量
     */
    @GET("/api/applogin/get_new_circle_num")
    Call<ResponseBody> get_new_circle_num();
    /**
     * 获取订单图片
     */
    @GET("/cargo/order/get_order_images")
    Call<ResponseBody> get_order_images(@Query("deliver_sn") String deliver_sn,@Query("img_type") String img_type);
    /**
     * 更换背景图
     */
    @GET("/cargo/user/addCirclePic")
    Call<ResponseBody> addCirclePic(@Query("circle_pic") String circle_pic);
    /**
     * 筛选值
     */
    @GET("/cargo/logisticscompany/get_specialLine_options")
    Call<ResponseBody> get_specialLine_options(@QueryMap Map<String, Object> parameters);
    /**
     * 查公司新接口
     */
    @GET("/cargo/logisticscompany/get_logistics_companys_by_json")
    Call<ResponseBody> get_logistics_companys_by_json(@QueryMap Map<String, Object> parameters);
    /**
     * 查专线新接口
     */
    @GET("/cargo/logisticscompany/get_special_line_by_json")
    Call<ResponseBody> get_special_line_by_json(@QueryMap Map<String, Object> parameters);
    /**
     * 注销账号
     */
    @GET("/api/applogin/logoff")
    Call<ResponseBody> logoff();
    /**
     * 绑定新手机号
     */
    @GET("/cargo/user/bind_new_mobile")
    Call<ResponseBody> bind_new_mobile(@Query("mobile") String mobile, @Query("verify_code") String verify_code);

    /**
     * 验证原手机号
     */
    @GET("/cargo/user/check_old_mobile")
    Call<ResponseBody> check_old_mobile(@Query("mobile") String mobile, @Query("verify_code") String verify_code);
    /**
     * 获取头像列表
     */
    @GET("/api/appgobal/get_default_headerpic_list")
    Call<ResponseBody> get_default_headerpic_list(@Query("platform") String platform);
    /**
     * 更新用户信息
     */
    @GET("/cargo/user/update_user_info")
    Call<ResponseBody> update_user_info(@Query("update_type") String update_type, @Query("value") String value);
    /**
     * 数据看板平台
     */
    @GET("/api/applogin/get_platform_report_nums")
    Call<ResponseBody> get_platform_report_nums();
    /**
     * 余额充值
     */
    @GET("/cargo/userwallet/apply_recharge")
    Call<ResponseBody> apply_recharge(@Query("number") String number);
    /**
     * 撤销投诉
     */
    @GET("/cargo/abnormal/cancel_abnormal")
    Call<ResponseBody> cancel_abnormal(@Query("id") int id);

    /**
     * 获取投诉记录数量
     */
    @GET("/cargo/abnormal/get_abnormal_num")
    Call<ResponseBody> get_abnormal_num(@Query("deliver_sn") String deliver_sn);

    /**
     * 异常单列表
     */
    @GET("/cargo/abnormal/get_abnormal_list")
    Call<ResponseBody> get_abnormal_list(@QueryMap Map<String, Object> parameters);

    /**
     * 异常单处理
     */
    @GET("/cargo/abnormal/handle_abnormal_handle")
    Call<ResponseBody> handle_abnormal_handle(@Query("id") int id, @Query("status") int status);

    /**
     * 异常单信息
     */
    @GET("/cargo/abnormal/get_abnormal_info")
    Call<ResponseBody> get_abnormal_info(@Query("id") int id);

    /**
     * 红包信息
     */
    @GET("/cargo/order/getRedpackInfo")
    Call<ResponseBody> getRedpackInfo(@Query("estimate_money") String estimate_money);

    /**
     * 账单
     */
    @GET("/cargo/userwallet/get_wallet_log")
    Call<ResponseBody> get_wallet_log(@QueryMap Map<String, String> parameters);

    /**
     * 获取红包相关配置信息
     */
    @GET("/api/applogin/get_redpack_config")
    Call<ResponseBody> get_redpack_config(@Query("platform") String platform);

    /**
     * 发起红包转余额申请
     */
    @GET("/logistics/Companywallet/apply_zhuanyuee")
    Call<ResponseBody> apply_zhuanyuee(@Query("number") String number);

    /**
     * 发货优惠券列表
     */
    @GET("/api/applogin/receive_redpack")
    Call<ResponseBody> receive_redpack(@Query("city") String city);

    /**
     * 发货优惠券列表
     */
    @GET("/cargo/coupon/myCouponList")
    Call<ResponseBody> myCouponList(@QueryMap Map<String, Object> parameters);

    /**
     * 已领取优惠券
     */
    @GET("/cargo/coupon/couponSelfList")
    Call<ResponseBody> couponSelfList(@QueryMap Map<String, Object> parameters);

    /**
     * 优惠券搜索
     */
    @GET("/cargo/coupon/couponSearchList")
    Call<ResponseBody> couponSearchList(@QueryMap Map<String, Object> parameters);

    /**
     * 领券
     */
    @GET("/cargo/coupon/takeCoupon")
    Call<ResponseBody> takeCoupon(@Query("coupon_id") int coupon_id);

    /**
     * 领券中心优惠券列表
     */
    @GET("/cargo/coupon/couponList")
    Call<ResponseBody> couponList(@Query("limit") String limit, @Query("page") int page);

    /**
     * 保存行业和城市
     */
    @GET("/cargo/user/save_industry_city")
    Call<ResponseBody> save_industry_city(@Query("trade") String trade, @Query("city") String city);

    /**
     * 获取用户信息
     */
    @GET("/logistics/user/get_user_infother")
    Call<ResponseBody> get_user_infother(@Query("unid") String unid);

    /**
     * 清除消息
     */
    @GET("/cargo/circle/delNews")
    Call<ResponseBody> circleDelNews();

    /**
     * 圈子评论列表
     */
    @GET("/cargo/circle/newsList")
    Call<ResponseBody> circleNewsList(@Query("page") int page, @Query("limit") int limit);

    /**
     * 圈子评论列表
     */
    @GET("/cargo/circle/judgeList")
    Call<ResponseBody> circleJudgeList(@Query("circle_id") int circle_id);

    /**
     * 圈子评论删除
     */
    @GET("/cargo/circle/delCircle")
    Call<ResponseBody> delCircle(@Query("circle_id") int circle_id);

    /**
     * 圈子评论删除
     */
    @GET("/cargo/circle/delJudge")
    Call<ResponseBody> circleDelJudge(@Query("circle_id") int circle_id, @Query("create_time") int create_time);

    /**
     * 百度审核
     */
    @GET("/api/upload/baiduCheck")
    Call<ResponseBody> baiduCheck(@Query("type") int type, @Query("content") String content);

    /**
     * 圈子评论
     */
    @GET("/cargo/circle/judge")
    Call<ResponseBody> circleJudge(@Query("circle_id") int id, @Query("words") String words);

    /**
     * 取消点赞
     */
    @GET("/cargo/circle/cancelAgree")
    Call<ResponseBody> cancelAgree(@Query("circle_id") int id);

    /**
     * 圈子点赞
     */
    @GET("/cargo/circle/agree")
    Call<ResponseBody> circleAgree(@Query("circle_id") int id);

    /**
     * 圈子列表
     */
    @GET("/cargo/circle/list")
    Call<ResponseBody> circleList(@QueryMap Map<String, String> parameters);

    /**
     * 发布圈子
     */
    @GET("/cargo/circle/publish")
    Call<ResponseBody> publishCircle(@QueryMap Map<String, String> parameters);

    /**
     * 常见问题列表
     */
    @GET("/api/applogin/get_question_list")
    Call<ResponseBody> get_question_list(@Query("page") int page, @Query("limit") int limit, @Query("platform") String platform);

    /**
     * 常见问题详情
     */
    @GET("/api/applogin/get_question_info")
    Call<ResponseBody> get_question_info(@Query("id") int id, @Query("platform") String platform);

    /**
     * 反馈记录
     */
    @GET("/api/applogin/get_advice_list")
    Call<ResponseBody> get_advice_list(@Query("page") int page, @Query("limit") int limit, @Query("platform") String platform);

    /**
     * 意见反馈
     */
    @GET("/api/applogin/advice_report")
    Call<ResponseBody> advice_report(@QueryMap Map<String, String> parameters);

    /**
     * 批量阅读站内信
     */
    @GET("/api/applogin/lots_read_message")
    Call<ResponseBody> lots_read_message(@Query("platform") String platform);

    /**
     * 阅读站内信
     */
    @GET("/api/applogin/type_read_message")
    Call<ResponseBody> read_message(@Query("platform") String platform, @Query("type") String type);

    /**
     * 站内消息
     */
    @GET("/api/applogin/get_message_list")
    Call<ResponseBody> get_message_list(@QueryMap Map<String, String> parameters);

    /**
     * 获取消息数量
     */
    @GET("/api/applogin/get_message_num")
    Call<ResponseBody> get_message_num(@Query("platform") String platform);

    /**
     * 接受报价
     */
    @GET("/cargo/order/accept_quoted")
    Call<ResponseBody> accept_quoted(@Query("deliver_sn") String deliver_sn, @Query("quoted_id") String quoted_id);

    /**
     * 订单评价
     */
    @GET("/cargo/Order/comment_order")
    Call<ResponseBody> comment_order(@QueryMap Map<String, Object> parameters);

    /**
     *评价列表
     */
    @GET("/api/applogin/get_comment_list")
    Call<ResponseBody> get_comment_list(@QueryMap Map<String, Object> parameters);

    /**
     * 投诉维权
     */
    @GET("/cargo/abnormal/apply_abnormal")
    Call<ResponseBody> apply_abnormal(@QueryMap Map<String, String> parameters);

    /**
     * 获取询价详情
     */
    @GET("/cargo/order/get_order_quoted_detail")
    Call<ResponseBody> get_order_quoted_detail(@QueryMap Map<String, String> parameters);

    /**
     * 获取询价列表
     */
    @GET("/cargo/order/get_order_quoted_list")
    Call<ResponseBody> get_order_quoted_list(@QueryMap Map<String, String> parameters);

    /**
     * 取消订单
     */
    @GET("/cargo/order/cancel_order")
    Call<ResponseBody> cancel_order(@Query("deliver_sn") String deliver_sn, @Query("cancel_reason") String cancel_reason);

    /**
     * 再次发起
     */
    @GET("/cargo/order/get_order_logistics")
    Call<ResponseBody> get_order_logistics(@Query("deliver_sn") String deliver_sn);

    /**
     * 再次发起
     */
    @GET("/cargo/order/confirm_receipt")
    Call<ResponseBody> confirm_receipt(@Query("deliver_sn") String deliver_sn);

    /**
     * 再次发起
     */
    @GET("/cargo/order/reapply_order")
    Call<ResponseBody> reapply_order(@Query("deliver_sn") String deliver_sn);

    /**
     * 收藏公司
     */
    @GET("/cargo/logisticscompany/click_collect")
    Call<ResponseBody> click_collect(@Query("logistics_id") int logistics_id, @Query("click_type") String click_type);

    /**
     * 专线列表
     */
    @GET("/cargo/specialline/get_special_line_list")
    Call<ResponseBody> getSpecialList(@Query("page") int page, @Query("limit") int limit, @Query("logistics_id") int logistics_id);

    /**
     * 获取运输范围
     */
    @GET("/cargo/specialline/get_special_line_range")
    Call<ResponseBody> getSpecialLineRange(@Query("logistics_id") int logistics_id);

    /**
     * 公司优惠券
     */
    @GET("/cargo/coupon/companyCouponList")
    Call<ResponseBody> companyCouponList(@Query("page") int page, @Query("limit") int limit, @Query("logistics_id") int logistics_id);

    /**
     * 获取公司详情
     */
    @GET("/cargo/logisticscompany/get_logistics_company_detail")
    Call<ResponseBody> get_logistics_company_detail(@Query("logistics_id") int logistics_id);

    /**
     * 获取城市数据
     */
    @GET("/api/appgobal/get_city_data")
    Call<ResponseBody> getCityData();

    /**
     * 订单详情
     */
    @GET("/cargo/order/get_order_detail")
    Call<ResponseBody> getOrderDetails(@Query("deliver_sn") String deliver_sn);

    /**
     * 获取订单列表
     */
    @GET("/cargo/order/get_order_list")
    Call<ResponseBody> get_order_list(@QueryMap Map<String, String> parameters);

    /**
     * 获取物流公司网点
     */
    @GET("/cargo/logisticscompany/get_logistics_company_outlets")
    Call<ResponseBody> get_logistics_company_outlets(@QueryMap Map<String, String> parameters);

    /**
     * 获取物流公司列表
     */
    @GET("/cargo/logisticscompany/get_logistics_companys")
    Call<ResponseBody> get_logistics_companys(@QueryMap Map<String, String> parameters);

    /**
     * 专线列表
     */
    @GET("/cargo/specialline/get_special_line_list")
    Call<ResponseBody> get_special_line_list(@QueryMap Map<String, String> parameters);

    /**
     * 获取地址详情
     */
    @GET("/cargo/useraddress/get_address_detail")
    Call<ResponseBody> get_address_detail(@Query("address_id") int address_id);

    /**
     * 设置为默认地址
     */
    @GET("/cargo/useraddress/set_default_address")
    Call<ResponseBody> set_default_address(@Query("address_id") int address_id);

    /**
     * 删除地址
     */
    @GET("/cargo/useraddress/del_address")
    Call<ResponseBody> del_address(@Query("address_id") int address_id);

    /**
     * 获取用户信息
     */
    @GET("/cargo/user/get_user_info")
    Call<ResponseBody> get_user_info();

    /**
     * 去支付
     */
    @GET("/cargo/pay/go_pay")
    Call<ResponseBody> go_pay(@QueryMap Map<String, String> parameters);

    /**
     * 获取推荐运费
     */
    @GET("/cargo/order/get_platform_price")
    Call<ResponseBody> get_platform_price(@QueryMap Map<String, String> parameters);

    /**
     * 创建新订单
     */
    @GET("/cargo/order/create_order")
    Call<ResponseBody> create_order(@QueryMap Map<String, String> parameters);

    /**
     * 获取订单需要的数据
     */
    @GET("/cargo/order/get_order_common_data")
    Call<ResponseBody> get_order_common_data();

    /**
     * 获取地址列表
     */
    @GET("/cargo/useraddress/get_address_list")
    Call<ResponseBody> get_address_list(@QueryMap Map<String, String> parameters);

    /**
     * 修改地址
     */
    @GET("/cargo/useraddress/edit_address")
    Call<ResponseBody> edit_address(@QueryMap Map<String, String> parameters);

    /**
     * 添加地址
     */
    @GET("/cargo/useraddress/add_address")
    Call<ResponseBody> add_address(@QueryMap Map<String, String> parameters);

    /**
     * 图片上传
     */
    @Multipart
    @POST("/api/upload/index")
    Call<ResponseBody> imageUpload(@Part List<MultipartBody.Part> partList);

    /**
     * 图片上传
     */
    @Multipart
    @POST("/api/upload/index")
    Call<ResponseBody> imageUpload(@Part List<MultipartBody.Part> partList, @Query("sign") String sign);

    /**
     * 获取广告图
     */
    @GET("/api/appgobal/get_ad_data")
    Call<ResponseBody> get_ad_list(@QueryMap Map<String, String> parameters);

    /**
     * 获取全局数据
     */
    @GET("/cargo/app/get_global_data")
    Call<ResponseBody> get_global_data();

    /**
     * 获取验证码
     */
    @GET("/api/applogin/get_verify_code")
    Call<ResponseBody> getCode(@Query("type") String type, @Query("mobile") String mobile);

    /**
     * 登录
     */
    @GET("/api/applogin/login_post")
    Call<ResponseBody> login(@QueryMap Map<String, String> parameters);

    /**
     * 获取手机号
     */
    @GET("/api/aliyun/get_mobile")
    Call<ResponseBody> getMobile(@Query("accessToken") String token, @Query("platform") String platform);
}
